#include <iostream>
#include <cstdio>
#include <algorithm>



using namespace std;


struct monster{
    int value;
    bool alive=true;
    bool attack=true;
};
monster A[100005];

bool cmp(monster a,monster b){
    return a.value<b.value;
}

int main(){
    freopen("duel.in","r",stdin);
    freopen("duel.out","w",stdout);
    int n;
    cin>>n;
    for(int i=0;i<n;i++){
        scanf("%d",&A[i].value);
    }
    sort(A,A+n,cmp);
    int fr=0;
    int t=n;
    while(t>0){
        int small=A[fr].value;

        for(int i=0;i<n;i++){
            if(A[i].alive && A[i].attack){

                if(A[i].value>small){
                    A[fr].alive=false;
                    A[i].attack=false;
                    fr++;
                    break;
                }
            }
        }
        t--;
    }
    int live=0;
    for(int i=0;i<n;i++){
        if(A[i].alive){
            live++;
        }
    }
    cout<<live;



    fclose(stdin);
    fclose(stdout);

    return 0;
}
